package cn.yuanqiao.archive.management.mapper;

import cn.yuanqiao.archive.management.domain.YqZtlx;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 载体类型Mapper接口
 * 
 * @author sy
 * @date 2023-07-07
 */
public interface YqZtlxMapper 
{
    /**
     * 查询载体类型
     * 
     * @param yqZtlx 载体类型
     * @return 载体类型
     */
    public YqZtlx selectYqZtlxByZtlxId(YqZtlx yqZtlx);

    /**
     * 查询载体类型列表
     * 
     * @param yqZtlx 载体类型
     * @return 载体类型集合
     */
    public List<YqZtlx> selectYqZtlxList(YqZtlx yqZtlx);

    /**
     * 查询所有载体类型
     *
     * @param yqZtlx 载体类型
     * @return 载体类型
     */
    public List<YqZtlx> selectYqZtlxListAll(YqZtlx yqZtlx);

    /**
     * 新增载体类型
     * 
     * @param yqZtlx 载体类型
     * @return 结果
     */
    public int insertYqZtlx(YqZtlx yqZtlx);

    /**
     * 修改载体类型
     * 
     * @param yqZtlx 载体类型
     * @return 结果
     */
    public int updateYqZtlx(YqZtlx yqZtlx);

    /**
     * 删除载体类型
     * 
     * @param tableName,id
     * @return 结果
     */
    public int deleteYqZtlxByZtlxId(@Param("tableName") String tableName, @Param("ztlxId")Long ztlxId);

    /**
     * 批量删除载体类型
     * 
     * @param ztlxIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYqZtlxByZtlxIds(Long[] ztlxIds);

    /**
     * 载体类型判重（根据名称是否相同）
     *
     * @param yqZtlx 载体类型
     * @return 结果
     */
    public int isOnly(YqZtlx yqZtlx);

    /**
     * 查询载体类型在载体表中是否被利用
     *
     * @param ztlxId 载体类型id
     * @return 结果
     */
    public int selectZtlxInZt(@Param("ztTable") String ztTable, @Param("ztlxId")Long ztlxId);

    /**
     * 查询载体类型在盘规格表中是否被利用
     *
     * @param ztlxId 载体类型id
     * @return 结果
     */
    public int selectZtlxInPgg(@Param("pggTable") String pggTable, @Param("ztlxId")Long ztlxId);

}
